بخش اول
هدف كلي
توانايي برخورد با مسائل برنامه نويسي
هدفهاي رفتاري
پس از پايان مطالعه اين بخش از فراگير انتظار مي رود كه :
1. مراحل برخورد با مسائل برنامه نويسي را بداند .
2. هر يك از مراحل را تحليل كند .
3. مفهوم
الگوريتم را بيان كند .
4. روش
هاي بيان الگوريتم را بشناسد .
5. قادر
باشد عملیات مربوط به Trace را انجام دهد و اهمیت آن را بداند.
6. توانایی
تصمیم گیری در مورد استفاده از نوع بیان الگوریتم را داشته باشد.
7. مراحل
برخورد با پروژه ها را بداند و بتواند آن ها را تحلیل کند.
در این بخش به این موضوع می پردازیم که : مساله
اي در اختيار ما قرار مي گيرد كه باید به زبان خاصي حل كنيم، چطور باید آن را حل
کرد؟
شروع بخش اول :
مقدمه
اين بخش با بررسي روش هاي حل يك مساله و مفهوم الگوريتم از ديدگاههاي
مختلف آغاز مي شود .شايد شما هم مثل من از بحث هاي تئوري خوشتان نمي آيد ولي اين بررسي و به دنبال آن مهارتي كه در الگوريتم سازي كسب
مي كنيد، كمك مؤثري در برنامه نويسي به شما
خواهد كردپس لطفا با ما همراه شويد .
اين مفهوم در ابتدا مشكل به نظر مي رسد ولي اطمينان داشته باشيد كه
با مطالعه دقيق و حل تمرينات مربوطه ، با
نوشتن الگوريتم آشنا خواهيد شد .
پيش از آشنايي با مفهوم الگوريتم و كاربرد هاي آن ، بهتر است ابتدا
با مساله و جزئيات آن آشنا شويم سپس براي حل مساله يك راه حل منطقي يا الگوريتمي بيابيم .
چگونگي نوشتن يك برنامه به زبان خاص
مراحل 5 گانه حل یک مساله
1. ورودي ها يعني : بررسي داده ها يا معلومات مساله (از مساله بپرسید،چی-چیا رو
باید حساب کتاب کنم؟)
2. خروجي
ها يعني: بررسي مجهولات (از مساله
بپرسید،چی-چیا باید نمایش داده شود؟)
3. ارتباط
منطقي يعني : يافتن ارتباط بين داده ها
و مجهولات (از مساله بپرسید،چجوری از ورودی به خروجی
برسم؟)
4. ارائه
راه حل يعني : راه حل يا نقشه كلي مسير را
پيدا كنيم تا طبق آن جلو برويم .
5. بیان
الگوریتم یعنی : راه حل خود را قدم به قدم بیان
کنیم با روشی دلخواه که ترجیحا بهتر است فلوچارت باشد.
مثال 1 :
ميانگين دو عدد 10 و 20 را حساب كنيد .
1. ورودي
: دو عدد 10 و 20
2. خروجي
: چاپ ميانگين 10 و 20
3. رابطه
منطقي : روش محاسبه ميانگين (مجموع
اعداد تقسيم بر تعداد)
4. ارائه
راه حل :
بايد برنامه ام 2 عدد 10 و 20 رو خودش داشته باشه (در جاهاي مخصوصي كه من بدونم ) بعد اون دو رو از جاشون بردارم و بعد از جمع و تقسيم بر 2 در جاي ديگري
قرار دهم و با گفتن جاي آن ، ميانگين اين دو عدد را چاپ كنم .
5. بيان الگوريتم :
روش اول بیان الگوریتم شبکه کد
شبه كد :
1. شروع
2. دو عدد 10 و 20 را بگير .
3. 10+20/2 را محاسبه کن و
درمكاني (متغيري)به نام C قرار بده .
4. C
را چاپ کن.
5.
پایان
شبه كد : بيان الگوريتم با استفاده از كلمات ، عبارات و علائم رياضي .
روش دوم بیان الگوریتم فلوچارت
فلوچارت :

فلوچارت : نمايش گرافيكي الگوريتم .
اما چطور فلوچارت بکشیم ؟
متداول ترين شكلها در فلوچارت :
• بيضي : مفهوم شروع و پايان را مي رساند .
• مستطيل : مفهوم عمليات پردازش مثل محاسبات رياضي
را مي رساند.
• متوازي الاضلاع : مفهوم اين را
مي رساند كه داده يا داده هايي در حال ورودند و يا اطلاعاتي در حال خروجند .
• لوزي :
مفهوم
چندراهی را می رساند مثلا اگر شرطی برقرار بود از مسیر اول مساله حل شود و اگر شرط
برقرار نبود از مسیر بعدی حل شود و ...
•دايره كوچك O : اتصالات ، مثلا در حال نوشتن هستيم اما فضاي كافي وجود ندارد با گذاشتن اين علامت در هر دو طرف ديگران را متوجه
مي كنيم
كه اين دو با هم ارتباط دارند و ادامه
يكديگرند
.
· ----] توضيحات ، براي اينكه برنامه
خوانا و قابل فهم باشد.
•تكرار : بيشتر
مواقع برنامه هاي ما مرحله يا مراحلي را دارد كه بايد طبق شرايط خاصي دوباره تكرار شود خيلي ساده با برگرداندن فلش به آن مرحله ، تكرار را معلوم مي كنيم كه به اصطلاح به اين عمل Loop يا حلقه مي گويند.
نکته : هميشه سعي كنيد( چه در الگوريتم و چه در كد برنامه ) براي هر مرحله خود توضيح يا كامنت بگذاريد تا هم برنامه خوانا و قابل فهم، براي ديگران و خودتان باشد و هم در بازديد هاي
بعديتان ، باز متوجه شويد كه چرا مرحله اي را نوشته ايد
؟!
خب فعلا این جلسه را به پایان می رسانیم و در جلسه ی بعد ادامه می دهیم.
موفق باشید.
<جلسه قبل ــ جلسه بعد>
نظرات شما عزیزان:
برچسبها: